package common

import (
	"github.com/jinzhu/gorm"
	"managementsystem/pkg/utils"
)

func UpdateInfo(db *gorm.DB, data utils.S) {

	if data.Ssex != "" {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("ssex", data.Ssex).Error
		utils.ErrCheck(err)
	}

	if data.Sage != 0 {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("sage", data.Sage).Error
		utils.ErrCheck(err)
	}

	if data.Snation != "" {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("snation", data.Snation).Error
		utils.ErrCheck(err)
	}

	if data.Slocation != "" {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("slocation", data.Slocation).Error
		utils.ErrCheck(err)
	}

	if data.Sacademic != "" {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("sacademic", data.Sacademic).Error
		utils.ErrCheck(err)
	}

	if data.Smajor != "" {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("smajor", data.Smajor).Error
		utils.ErrCheck(err)
	}

	if data.Spolitic != "" {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("spolitic", data.Spolitic).Error
		utils.ErrCheck(err)
	}
	if data.Srecord != "" {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("srecord", data.Srecord).Error
		utils.ErrCheck(err)
	}
	if data.Smark != "" {
		err := db.Table("s").Where("sno = ?", data.Sno).Update("smark", data.Smark).Error
		utils.ErrCheck(err)
	}
	db.Save("s")
}
